맨위로가기

마이크로소프트 액세스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

마이크로소프트 액세스는 1992년 처음 출시된 마이크로소프트의 데이터베이스 관리 시스템으로, 테이블, 쿼리, 폼, 보고서, 매크로를 생성하고 VBA를 사용하여 솔루션을 개발할 수 있다. 윈도우 운영체제에서 사용 가능하며, 엑셀, 아웃룩, SQL Server 등 다양한 데이터 형식과 통합된다. Access는 2GB의 파일 크기 제한이 있으며, 파일 손상 가능성, 성능 저하 등의 한계가 있다.

더 읽어볼만한 페이지

  • 1992년 개발된 프로그래밍 언어 - 딜런 (프로그래밍 언어)
    딜런은 애플에서 개발되어 오픈 소스화된 동적 프로그래밍 언어로, Lisp의 영향, 다중 상속, 제네릭 함수 등의 특징과 높은 확장성을 제공한다.
  • 마이크로소프트 데이터베이스 소프트웨어 - 비주얼 폭스프로
    비주얼 폭스프로는 xBase 언어군에 속하는 절차적 프로그래밍 언어이자 데이터베이스 관리 시스템으로, dBase를 기반으로 관계형 데이터베이스 엔진과 통합되어 SQL 쿼리 및 데이터 조작을 지원하며, 마이크로소프트 개발 중단 후 커뮤니티 주도의 개발이 진행되었다.
  • 마이크로소프트 데이터베이스 소프트웨어 - 업사이징
    업사이징은 데이터베이스를 다른 시스템으로 마이그레이션하는 전략으로, 데이터베이스 구조와 소스 코드 리팩토링을 포함하며, 데이터 접근 인터페이스 변경, SQL 문법 변환, 객체 이름 조정, 소스 코드 재구성을 포함하여 데이터 마이그레이션 비용, 호환성, 성능 향상을 고려해야 한다.
  • 데이터 중심 프로그래밍 언어 - SQL
    SQL은 관계형 데이터베이스 관리 시스템에서 데이터를 관리하고 조작하기 위해 설계된 표준 프로그래밍 언어로서, 데이터 정의어, 데이터 조작어, 데이터 제어어를 포함하는 다양한 명령어 문법을 제공하며 ANSI와 ISO에 의해 표준으로 채택되었다.
  • 데이터 중심 프로그래밍 언어 - 줄리아 (프로그래밍 언어)
    줄리아는 2012년에 공개된 고수준 프로그래밍 언어로, 다중 디스패치, 동적 타입 시스템, C와 유사한 성능을 제공하며, 수치 계산, 과학 기술 계산 등에 활용된다.
마이크로소프트 액세스 - [IT 관련 정보]에 관한 문서
기본 정보
마이크로소프트 오피스 액세스 로고 (2019-현재)
마이크로소프트 오피스 액세스 로고 (2019-현재)
개발마이크로소프트
최초 출시1992년 11월
최신 안정화 버전2021
최신 안정화 버전 출시일2021년 10월
프로그래밍 언어C++ (백엔드)
운영 체제마이크로소프트 윈도우
플랫폼x86, x64 (WOW64)
종류RDBMS
라이선스평가판
웹사이트마이크로소프트 액세스 공식 웹사이트

2. 역사

마이크로소프트 액세스는 윈도우용으로 출시된 최초의 대중적인 데이터베이스 프로그램이었다. 1992년 마이크로소프트가 폭스프로를 인수하고 폭스의 러쉬모어 쿼리 최적화 루틴을 액세스에 통합하면서, 윈도우 환경에서 빠르게 데이터베이스 시장을 장악했다.[3]

1980년대 중반, 마이크로소프트는 관계형 데이터베이스 제품인 R:Base를 판매할 수 있는 라이선스를 획득하며 관계형 데이터베이스 시장에 처음 진출했다.[6] 이후 1980년대 후반, 오메가(Omega)라는 코드명으로 자체 솔루션을 개발하기 시작했다.[7] 1988년에는 윈도우와 OS/2용 데이터베이스 제품이 개발 중임이 확인되었으며,[8][9] 이 제품에는 "EB" 임베디드 베이직(Embedded Basic) 언어가 포함될 예정이었지만, VBA가 도입되기 전까지는 매크로 언어의 통합이 이루어지지 않았다. 오메가는 Microsoft SQL Server에 대한 프런트 엔드를 제공할 것으로 예상되었으나,[11] 당시 사용 가능했던 386 프로세서에서 느리게 작동한다는 보고가 있었다.[12] 1990년 1분기에 출시될 예정이었지만, 1989년에 제품 개발이 재설정되었고, 1991년 1월 이후로 출시가 연기되었다.[15] 이 프로젝트의 일부는 나중에 액세스(Access, 코드명 Cirrus)와 Visual Basic(코드명 Thunder) 등 다른 마이크로소프트 프로젝트에 사용되었다.[6][7]

오메가 프로젝트가 폐기된 후, 일부 개발자들은 Project Cirrus에 배정되었다.[6] 이 프로젝트는 Paradox나 dBase와 같은 경쟁 제품을 만들어 Windows에서 작동하게 하는 것을 목표로 했다.[17] 마이크로소프트가 FoxPro를 인수한 후, 이 프로젝트가 FoxPro로 대체될 것이라는 소문이 있었지만, 회사는 두 제품을 병행 개발하기로 결정했다. 이 프로젝트는 Extensible Storage Engine(Jet Blue)을 사용할 것으로 예상되었지만, 최종적으로는 Jet Database Engine(Jet Red)에 대한 지원만 제공되었다. 1992년 7월, Cirrus의 베타 버전이 개발자에게 배포되었고[20] "Access"라는 이름이 이 제품의 공식 이름이 되었다.[21]

Office 2000 및 Office XP용 Access 로고


1992년 11월 13일, 마이크로소프트는 Access 버전 1.0을 출시했고, 1993년 5월에는 Access 1.1을 출시했다. Access v2.0에서 마이크로소프트는 최소 하드웨어 요구 사항을 4MB의 RAM이 필요하고(6MB RAM 권장), 8MB의 사용 가능한 하드 디스크 공간이 필요하고(14MB 권장)하는 Microsoft Windows v3.1로 지정했다.

Office 95와 함께 Microsoft Access 7.0는 Microsoft Office Professional Suite의 일부가 되었으며 Access Basic에서 VBA로 전환했다. 이후 마이크로소프트는 Microsoft Office의 각 릴리스와 함께 Microsoft Access의 새 버전을 출시했다.

Jet 데이터베이스 엔진 버전 3.0 및 3.5 (각각 Access 7.0 및 Access 97에서 사용)에는 1GB 이상의 메모리가 있는 컴퓨터에서 이러한 버전의 Access를 사용할 수 없게 만드는 치명적인 문제가 있었다.[24]

기본 Access 데이터베이스 형식(Jet MDB 데이터베이스)도 수년에 걸쳐 발전했다. 가장 중요한 전환은 Access 97에서 Access 2000 형식으로의 전환이었으며, 이전 버전의 Access와 하위 호환성이 없다.

Microsoft Access 2000은 최대 데이터베이스 크기를 Access 97의 1GB에서 2GB로 늘렸다.

Microsoft Access 2007은 새로운 데이터베이스 형식인 ACCDB를 도입했다. SharePoint 목록에 대한 링크와 다중 값 및 첨부 파일 필드와 같은 복잡한 데이터 형식을 지원한다.

2013년부터 2019년까지의 Access 로고


Microsoft Access 2010은 SharePoint 2010 서버에서 Access 웹 서비스를 호스팅할 수 있는 ACCDB 형식의 새 버전을 도입했다.

Microsoft Access 2013은 기존 Access 데스크톱 애플리케이션과 함께 크게 업데이트된 SharePoint 2013 웹 서비스를 제공한다.[25] Access 2010의 Access 웹 모델은 데이터를 실제 SQL Server 데이터베이스에 저장하는 새로운 아키텍처로 대체되었다.[26]

Microsoft Access는 더 이상 Microsoft Office 2021의 일회성 구매 버전에는 포함되지 않지만, Microsoft 365에서 유지된다. Access 2021의 새로운 기능으로는 확장 정밀도 날짜/시간 데이터 형식[28] 및 다크 테마 지원[29]이 있다.

자체 데이터베이스 저장 파일 사용 외에도 Microsoft Access는 Microsoft SQL Server와 같은 다른 제품과 Oracle 및 Sybase와 같은 비마이크로소프트 제품이 '백엔드' 테이블 역할을 하는 동안 프로그램의 '프런트 엔드'로 사용할 수도 있다.

Access 테이블은 다양한 표준 필드 유형, 색인 및 referential integrity를 지원하며, 계단식 업데이트삭제가 포함된다. Access에는 또한 데이터를 표시하고 입력하기 위한 쿼리 인터페이스, 폼 및 인쇄용 보고서가 포함되어 있다.

프로그램 내 및 마이크로소프트 웹사이트에서 다운로드할 수 있는 템플릿 데이터베이스가 있다.

프로그래머는 Visual Basic 6.0 (VB6)과 유사하며 VBA를 사용하여 솔루션을 만들 수 있다.

동시에 지원할 수 있는 사용자 수는 데이터 양, 수행 중인 작업, 사용 수준 및 애플리케이션 설계에 따라 다릅니다. 일반적으로 허용되는 한도는 1GB 이하의 데이터(Access는 최대 2GB 지원)를 가진 솔루션이며 100개 이하의 동시 연결에서 매우 잘 수행된다.[30]

Access 2010 이전의 web development에서 Microsoft Access의 역할은 제한적이었다. Access 2010을 사용하면 Access 서비스를 실행하는 SharePoint 2010 웹 사이트에 데이터베이스를 게시할 수 있다.

Access 2013은 Access 서비스를 실행하는 SharePoint 2013 사이트에서 직접 웹 애플리케이션을 만들 수 있다.

SharePoint의 Access 서비스는 이후 중단되었다.[32]

Access 데이터베이스의 컴파일된 버전(.MDE /ACCDE 또는 .ADE)은 사용자가 모듈 코드, 폼 및 보고서를 수정하기 위해 디자인 화면에 액세스하는 것을 방지하기 위해 만들 수 있다.

2. 1. 초기 역사 (1992년 이전)

보랜드(패러독스)와 애슈턴-테이트(dBase, 1991년 보랜드에 인수됨) 등이 마이크로소프트 액세스가 출시되기 이전 데스크톱 데이터베이스 시장을 지배하고 있었다. 1992년 마이크로소프트가 폭스프로를 인수하고 폭스의 러쉬모어 쿼리 최적화 루틴을 액세스에 통합하면서, 마이크로소프트 액세스는 윈도우용 데이터베이스 시장을 빠르게 장악했으며, 이는 MS-DOS 환경에서 전환에 실패한 경쟁사들을 효과적으로 제거한 것이다.[3]

마이크로소프트가 관계형 데이터베이스 제품을 판매하려 한 첫 번째 시도는 1980년대 중반으로, R:Base를 판매할 수 있는 라이선스를 획득했다.[6] 1980년대 후반에 마이크로소프트는 오메가(Omega)라는 코드명으로 자체 솔루션을 개발했다.[7] 1988년에는 윈도우와 OS/2용 데이터베이스 제품이 개발 중임이 확인되었다.[8][9] 이 제품에는 모든 마이크로소프트 애플리케이션에서 매크로를 작성하는 데 사용될 "EB" 임베디드 베이직(Embedded Basic) 언어가 포함될 예정이었지만, VBA가 도입될 때까지 매크로 언어의 통합은 이루어지지 않았다. 오메가는 또한 Microsoft SQL Server에 대한 프런트 엔드를 제공할 것으로 예상되었다.[11] 이 애플리케이션은 매우 많은 리소스를 필요로 했으며, 당시 사용 가능했던 386 프로세서에서 느리게 작동한다는 보고가 있었다.[12] 1990년 1분기에 출시될 예정이었지만, 1989년에 제품 개발이 재설정되었고, 1991년 1월 이후로 출시가 연기되었다.[15]

오메가 프로젝트가 폐기된 후, 일부 개발자는 Project Cirrus에 배정되었으며 (대부분은 Visual Basic을 만든 팀에 배정되었다).[6] 이 프로젝트의 목표는 Paradox나 dBase와 같은 응용 프로그램의 경쟁 제품을 만들어 Windows에서 작동하게 하는 것이었다.[17] 마이크로소프트가 FoxPro를 인수한 후, 이 마이크로소프트 프로젝트가 FoxPro로 대체될 것이라는 소문이 있었지만, 회사는 두 제품을 병행 개발하기로 결정했다. 이 프로젝트는 Extensible Storage Engine(Jet Blue)을 사용할 것으로 예상되었지만, 최종적으로는 Jet Database Engine(Jet Red)에 대한 지원만 제공되었다. 1992년 7월, Cirrus의 베타 버전이 개발자에게 배포되었고[20] "Access"라는 이름이 이 제품의 공식 이름이 되었다.[21]

2. 2. 발전 과정 (1992년 ~ 현재)

날짜버전버전 번호지원 OS오피스 제품군 버전
1992년액세스 1.11윈도우 3.0
1993년액세스 2.02.0윈도우 3.1x오피스 4.3 Pro
1995년 8월 24일마이크로소프트 오피스 액세스 포 윈도우 957.0윈도우 95오피스 95 프로페셔널
1997년 1월 16일마이크로소프트 오피스 액세스 978.0윈도우 9x, NT 3.51/4.0오피스 97 프로페셔널, 디벨로퍼
1999년 6월 7일마이크로소프트 오피스 액세스 20009.0윈도우 9x, NT 4.0, 2000오피스 2000 프로페셔널, 프리미엄, 디벨로퍼
2001년 5월 31일마이크로소프트 오피스 액세스 200210윈도우 XP오피스 XP 프로페셔널, 디벨로퍼
2003년 11월 27일마이크로소프트 오피스 액세스 200311윈도우 2000, XP오피스 2003 프로페셔널, 프로페셔널 엔터프라이즈
2007년 1월 27일마이크로소프트 오피스 액세스 200712윈도우 XP SP2, 비스타오피스 2007 프로페셔널, 프로페셔널 플러스, 얼티밋, 엔터프라이즈
2009년 4월 24일마이크로소프트 오피스 액세스 2007 SP212윈도우 XP SP2, 비스타[http://www.microsoft.com/downloads/details.aspx?FamilyID=b444bf18-79ea-46c6-8a81-9db49b4ab6e5&displaylang=en 오피스 2007 서비스 팩 2]
2010년 7월 15일마이크로소프트 오피스 액세스 201014윈도우 XP SP3, 비스타 SP1, 7오피스 2010 프로페셔널, 프로페셔널 플러스, 프로페셔널 아카데믹
2012년 10월 2일마이크로소프트 오피스 201315윈도우 7 이상마이크로소프트 오피스 2013
2015년 9월 22일마이크로소프트 오피스 201616윈도우 7 이상마이크로소프트 오피스 2016



윈도우 95 버전이 워드 7로 시작하였기 때문에 2.0과 7.0 사이에는 액세스 버전이 없다. 모든 오피스 95 제품들은 OLE 2 기능을 갖추고 있으며 액세스 7은 워드 7과 호환된다.

Access가 출시되기 전, 보랜드(패러독스)와 애슈턴-테이트(dBase, 1991년 보랜드에 인수됨), 그리고 폭스(폭스프로)가 데스크톱 데이터베이스 시장을 지배하고 있었다. 마이크로소프트 액세스는 윈도우용으로 출시된 최초의 대중적인 데이터베이스 프로그램이었다. 1992년 마이크로소프트가 폭스프로를 인수하고 폭스의 러쉬모어 쿼리 최적화 루틴을 액세스에 통합하면서, 마이크로소프트 액세스는 윈도우 환경에서 빠르게 데이터베이스 시장을 장악했다.[3]

마이크로소프트가 관계형 데이터베이스 제품을 판매하려 한 첫 번째 시도는 1980년대 중반으로, R:Base를 판매할 수 있는 라이선스를 획득했다.[6] 1980년대 후반에 마이크로소프트는 오메가(Omega)라는 코드명으로 자체 솔루션을 개발했다.[7] 1988년에는 윈도우와 OS/2용 데이터베이스 제품이 개발 중임이 확인되었다.[8][9] 이 제품에는 "EB" 임베디드 베이직(Embedded Basic) 언어가 포함될 예정이었지만,[7] 매크로 언어의 통합은 VBA가 도입될 때까지 이루어지지 않았다. 오메가는 또한 Microsoft SQL Server에 대한 프런트 엔드를 제공할 것으로 예상되었다.[11] 이 애플리케이션은 당시 사용 가능했던 386 프로세서에서 느리게 작동한다는 보고가 있었다.[12] 1990년 1분기에 출시될 예정이었지만,[13] 1989년에 제품 개발이 재설정되었고,[6][14] 1991년 1월 이후로 출시가 연기되었다.[15] 이 프로젝트의 일부는 나중에 액세스(Access, 코드명 Cirrus)와 Visual Basic(코드명 Thunder) 등 다른 마이크로소프트 프로젝트에 사용되었다.[6][7] 액세스가 처음 출시된 후, 오메가 프로젝트는 1992년에 여러 저널리스트에게 시연되었으며 액세스에서 사용할 수 없는 기능을 포함했다.[16]

오메가 프로젝트가 폐기된 후, 일부 개발자는 Project Cirrus에 배정되었다(대부분은 Visual Basic을 만든 팀에 배정되었다).[6] 이 프로젝트의 목표는 Paradox나 dBase와 같은 응용 프로그램의 경쟁 제품을 만들어 Windows에서 작동하게 하는 것이었다.[17] 마이크로소프트가 FoxPro를 인수한 후, 이 마이크로소프트 프로젝트가 FoxPro로 대체될 것이라는 소문이 있었지만,[18] 회사는 두 제품을 병행 개발하기로 결정했다. 이 프로젝트는 Extensible Storage Engine(Jet Blue)을 사용할 것으로 예상되었지만,[19] 최종적으로는 Jet Database Engine(Jet Red)에 대한 지원만 제공되었다. 1992년 7월, Cirrus의 베타 버전이 개발자에게 배포되었고[20] "Access"라는 이름이 이 제품의 공식 이름이 되었다.[21]

마이크로소프트는 1992년 11월 13일에 Access 버전 1.0을 출시했으며, 1993년 5월에 Access 1.1을 출시했다.

Access v2.0에서 마이크로소프트는 최소 하드웨어 요구 사항을 4MB의 RAM이 필요하고(6MB RAM 권장), 8MB의 사용 가능한 하드 디스크 공간이 필요하고(14MB 권장)하는 Microsoft Windows v3.1로 지정했다. 제품은 1.44MB 디스켓 7개로 배송되었다.

Microsoft Access 2.0은 Book Shelf가 포함된 Microsoft Office 4.3 Professional의 일부로, "NorthWind Trader"라는 샘플 데이터베이스와 함께 제공되었다.

Office 95와 함께 Microsoft Access 7.0는 Microsoft Office Professional Suite의 일부가 되었으며 Access Basic에서 VBA로 전환했다. 이후 마이크로소프트는 Microsoft Office의 각 릴리스와 함께 Microsoft Access의 새 버전을 출시했다. 여기에는 Access 97 (버전 8.0), Access 2000 (버전 9.0), Access 2002 (버전 10.0), Access 2003 (버전 11.5), Access 2007 (버전 12.0), Access 2010 (버전 14.0), Access 2013 (버전 15.0) 및 Access 2016 (버전 16.0)이 포함된다.[23]

Jet 데이터베이스 엔진 버전 3.0 및 3.5 (각각 Access 7.0 및 나중에 출시된 Access 97에서 사용)에는 1GB 이상의 메모리가 있는 컴퓨터에서 이러한 버전의 Access를 사용할 수 없게 만드는 치명적인 문제가 있었다.[24]

기본 Access 데이터베이스 형식(Jet MDB 데이터베이스)도 수년에 걸쳐 발전했다. 형식에는 Access 1.0, 1.1, 2.0, 7.0, 97, 2000, 2002 및 2007이 포함된다. 가장 중요한 전환은 Access 97에서 Access 2000 형식으로의 전환이었으며, 이전 버전의 Access와 하위 호환성이 없다. 모든 최신 버전의 Access는 Access 2000 형식을 지원한다. Access 2002, 2003, 2007 및 2010에서 사용할 수 있는 새로운 기능이 Access 2002 형식에 추가되었다.

Microsoft Access 2000은 최대 데이터베이스 크기를 Access 97의 1GB에서 2GB로 늘렸다.

Microsoft Access 2007은 새로운 데이터베이스 형식인 ACCDB를 도입했다. SharePoint 목록에 대한 링크와 다중 값 및 첨부 파일 필드와 같은 복잡한 데이터 형식을 지원한다. Microsoft Access 2007은 또한 OLE (개체 연결 및 포함) 필드보다 데이터를 더 효율적으로 저장하는 파일 첨부 파일 필드를 도입했다.

Microsoft Access 2010은 SharePoint 2010 서버에서 Access 웹 서비스를 호스팅할 수 있는 ACCDB 형식의 새 버전을 도입했다. 이는 처음으로 사용자의 PC에 Access를 설치하지 않고도 Access 애플리케이션을 실행할 수 있도록 했으며 Mac 사용자를 처음으로 지원했다. 개발자가 Access 웹 서비스를 만들려면 여전히 Access 사본이 필요했으며, Access의 데스크톱 버전은 Access 2010의 일부로 유지되었다. Access 웹 서비스는 데스크톱 애플리케이션과 동일하지 않았다. 자동화는 Access가 자동으로 JavaScript로 변환한 매크로 언어를 통해서만 이루어졌다(VBA 아님). 데이터는 더 이상 Access 데이터베이스가 아닌 SharePoint 목록에 있었다.

Microsoft Access 2013은 기존 Access 데스크톱 애플리케이션과 함께 크게 업데이트된 SharePoint 2013 웹 서비스를 제공한다.[25] Access 2010의 Access 웹 모델은 데이터를 실제 SQL Server 데이터베이스에 저장하는 새로운 아키텍처로 대체되었다.[26] SharePoint 목록과 달리, 이는 SQL Server에서 기대할 수 있는 참조 무결성, 확장성 및 성능을 갖춘 진정한 관계형 데이터베이스 설계를 제공한다. Access 2013 데스크톱은 Access 2010과 유사하지만 Access 데이터 프로젝트(ADP) 지원, 피벗 테이블, 피벗 차트, Access 데이터 컬렉션, 소스 코드 관리, 복제 및 기타 레거시 기능 지원을 포함하여 여러 기능이 중단되었다.[27] Access 데스크톱 데이터베이스의 최대 크기는 2GB로 유지되었다(2000 버전 이후).

Microsoft Access는 더 이상 Microsoft Office 2021의 일회성 구매 버전에는 포함되지 않지만, 비즈니스용 앱 및 비즈니스 스탠다드 에디션으로 Microsoft 365에서 유지된다. Access 2021의 새로운 기능으로는 확장 정밀도 날짜/시간 데이터 형식[28] 및 다크 테마 지원[29]이 있다.

자체 데이터베이스 저장 파일 사용 외에도 Microsoft Access는 Microsoft SQL Server와 같은 다른 제품과 Oracle 및 Sybase와 같은 비마이크로소프트 제품이 '백엔드' 테이블 역할을 하는 동안 프로그램의 '프런트 엔드'로 사용할 수도 있다. 여러 백엔드 소스를 Microsoft Access Jet 데이터베이스(ACCDB 및 MDB 형식)에서 사용할 수 있다. 마찬가지로 Visual Basic, ASP.NET, 또는 Visual Studio .NET과 같은 일부 애플리케이션은 테이블 및 쿼리에 Microsoft Access 데이터베이스 형식을 사용한다.

Access 테이블은 다양한 표준 필드 유형, 색인 및 referential integrity를 지원하며, 여기에는 계단식 업데이트삭제가 포함된다. Access에는 또한 데이터를 표시하고 입력하기 위한 쿼리 인터페이스, 폼 및 인쇄용 보고서가 포함되어 있다. 이러한 개체를 포함하는 기본 Access 데이터베이스는 multi-user이며 레코드 잠금을 처리한다.

프로그램 내 및 마이크로소프트 웹사이트에서 다운로드할 수 있는 템플릿 데이터베이스가 있다. 이러한 옵션은 Access를 시작할 때 사용할 수 있으며 사용자는 미리 정의된 테이블, 쿼리, 폼, 보고서 및 매크로로 데이터베이스를 향상시킬 수 있다.

프로그래머는 Visual Basic 6.0 (VB6)과 유사하며 VBA를 사용하여 솔루션을 만들 수 있다.

동시에 지원할 수 있는 사용자 수는 데이터 양, 수행 중인 작업, 사용 수준 및 애플리케이션 설계에 따라 다릅니다. 일반적으로 허용되는 한도는 1GB 이하의 데이터(Access는 최대 2GB 지원)를 가진 솔루션이며 100개 이하의 동시 연결에서 매우 잘 수행된다.[30] 다중 사용자 시나리오에서 Access 데이터베이스 솔루션을 사용하는 경우 애플리케이션을 "분할"해야 한다. 즉, 테이블은 백엔드라고 하는 파일 하나에 있고 (일반적으로 공유 네트워크 폴더에 저장됨) 애플리케이션 구성 요소(폼, 보고서, 쿼리, 코드, 매크로, 연결된 테이블)는 프런트 엔드라고 하는 다른 파일에 있다.

대규모 데이터 세트에서 복잡한 쿼리 또는 분석을 실행하는 애플리케이션은 자연스럽게 더 많은 대역폭 및 메모리를 필요로 한다. Microsoft Access는 여러 Access 데이터베이스에 연결하거나 back-end database인 Microsoft SQL Server와 같은 데이터베이스를 사용하여 더 많은 데이터와 사용자를 지원하도록 확장하도록 설계되었다.

Access 2010 이전의 web development에서 Microsoft Access의 역할은 제한적이었다. 2000부터 2003까지 버전에서는 Data Access Pages라는 Access 개체 유형이 게시 가능한 웹 페이지를 만들었다. 데이터 액세스 페이지는 더 이상 지원되지 않는다. Jet Database Engine은 ODBC 또는 OLE DB와 같은 기술을 통해 액세스할 수 있다. Microsoft의 Terminal Services 및 Windows Server 2008 R2의 원격 데스크톱 애플리케이션을 사용하면 조직에서 웹을 통해 실행할 수 있도록 Access 애플리케이션을 호스팅할 수 있다.[31]

Access 2010을 사용하면 Access 서비스를 실행하는 SharePoint 2010 웹 사이트에 데이터베이스를 게시할 수 있다. 이러한 웹 기반 폼과 보고서는 모든 최신 웹 브라우저에서 실행된다.

Access 2013은 Access 서비스를 실행하는 SharePoint 2013 사이트에서 직접 웹 애플리케이션을 만들 수 있다. Access 2013 웹 솔루션은 데이터를 SharePoint 목록을 사용하여 데이터를 저장했던 Access 2010 버전보다 훨씬 더 확장 가능하고 강력한 기본 SQL Server 데이터베이스에 저장한다.

SharePoint의 Access 서비스는 이후 중단되었다.[32]

Access 데이터베이스의 컴파일된 버전(.MDE /ACCDE 또는 .ADE)은 사용자가 모듈 코드, 폼 및 보고서를 수정하기 위해 디자인 화면에 액세스하는 것을 방지하기 위해 만들 수 있다.

Microsoft Access 버전 1.0은 1992년 12월에 출시되었다.

Access 2007에서는 새로운 파일 형식을 채용하여 확장자 .accdb를 사용한다. 첨부 파일 데이터 형식과 Windows SharePoint Services에 대한 지원 등이 이루어진다.[66]

3. 특징

마이크로소프트 액세스는 사용자가 테이블, 쿼리, 폼, 보고서를 만들고 매크로로 연결할 수 있도록 돕는다. 고급 사용자는 VBA를 사용하여 데이터 조작 및 사용자 제어가 가능한 솔루션을 작성할 수도 있다. Access는 다양한 형식의 데이터를 가져오거나 내보낼 수 있는데, Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle 등이 그 예이다.[2] 또한, Access는 기존 위치의 데이터에 연결하여 보기, 쿼리, 편집, 보고에 사용할 수 있으며, 서로 다른 플랫폼에 저장된 데이터 집합 간의 이질적인 조인도 가능하다.

Access는 응용 프로그램과 데이터를 하나의 파일에 담을 수 있는 Access 데이터베이스 (ACE, 이전에는 Jet) 형식(Access 2007에서는 MDB 또는 ACCDB)을 제공하여, 전체 응용 프로그램을 다른 사용자에게 배포하여 연결이 끊어진 환경에서 실행할 수 있도록 한다.

프로그래머 관점에서 Access는 SQL (구조적 쿼리 언어)과 호환성이 높다. 쿼리는 그래픽으로 보거나 SQL 문으로 편집할 수 있으며, SQL 문은 매크로 및 VBA 모듈에서 Access 테이블을 조작하는 데 사용될 수 있다. VBA는 폼과 로직을 프로그래밍하고 객체 지향 가능성을 제공하며, 쿼리에도 포함될 수 있다.[2]

DAO 또는 ADO를 통해 VB6 및 .NET과 같은 다른 프로그램에서 Access의 매개변수화된 쿼리 및 Access 테이블을 참조할 수 있다. VBA는 ADO를 통해 매개변수화된 저장 프로시저를 참조할 수도 있다.

데스크톱 에디션의 Microsoft SQL Server는 Jet 데이터베이스 엔진 대신 Access와 함께 사용할 수 있다. (MSDE (Microsoft SQL Server Desktop Engine)에서 시작하여 SQL Server 2005 및 2008의 SQL Server Express 버전으로 이어짐).

Access는 파일 서버 기반 데이터베이스이며, 클라이언트-서버 관계형 데이터베이스 관리 시스템 (RDBMS)과 달리 데이터베이스 트리거, 저장 프로시저, 트랜잭션 로그를 구현하지 않는다. 그러나 Access 2010에는 ACE 데이터 엔진에 내장된 테이블 수준 트리거 및 저장 프로시저가 포함되어 있어, 이를 위해 클라이언트-서버 데이터베이스 시스템이 필요하지 않다.

Access 2010부터 테이블, 쿼리, 폼, 보고서 및 매크로는 웹 기반 응용 프로그램을 위해 개발될 수 있으며, Microsoft SharePoint 2010과의 통합이 개선되었다.

Access 2013은 플랫 디자인과 Office 스토어에서 앱을 설치하는 기능을 도입했지만 새로운 기능은 없었다. 2016년에 테마가 부분적으로 업데이트되었지만 Access용 다크 테마는 생성되지 않았다.

Access는 다음을 포함한 다양한 애플리케이션 및 데이터베이스에 저장된 데이터를 직접 가져오거나 연결할 수 있다.[2]


  • Microsoft Access
  • 엑셀
  • SharePoint 목록
  • 일반 텍스트
  • XML
  • 아웃룩
  • HTML
  • dBase (Access 2013에서 제거, Access 2016에서 복원)[36]
  • Paradox (Access 2007에서 지원, Access 2010에서 제거)[37]
  • Lotus 1-2-3 (Access 2010에서 제거)[37]
  • ODBC 호환 데이터 컨테이너:
  • Microsoft SQL Server
  • Oracle
  • MySQL
  • PostgreSQL
  • IBM Lotus Notes
  • IBM i IBM Db2


Access는 SQL과의 호환성이 뛰어나 쿼리를 SQL 문으로 표시하고 편집할 수 있다. SQL 문은 Access 테이블 조작을 위해 매크로나 VBA 모듈 내에서 직접 사용 가능하다. VBA와 "매크로"를 함께 사용하여 폼과 로직을 프로그래밍하고 객체 지향 가능성을 제공하며, SQL 문 내에서 VBA와 동일한 연산자 및 함수를 사용할 수 있다.

Access의 보고서 작성 기능은 Crystal Reports만큼 강력하지는 않지만, 세련된 보고서 작성 작업에 적합하다. MSDE (Microsoft SQL Server Desktop Engine) 2000은 Jet Database Engine 대신 Access와 함께 사용될 수 있다.

Access는 다른 데이터베이스 간 연결, Windows 및 다른 플랫폼 응용 프로그램과의 통합을 위한 다양한 가져오기/내보내기 기능을 제공한다. 또한, Microsoft SQL Server로 업그레이드할 수 있다.

Excel 사용자는 클립보드를 통해 Access와 데이터를 쉽게 교환할 수 있지만, 보안에 유의해야 한다.

Access의 데이터베이스 엔진 JET에는 데이터베이스 트리거저장 프로시저가 없지만, 폼에 코드를 포함하거나 외부 RDBMS의 저장 프로시저를 실행하는 기술을 사용할 수 있다.

Access 내의 각 개체(테이블, 쿼리, 폼, 보고서, 매크로, 모듈 등)는 확장자가 accdb 및 mdb인 데이터베이스 파일에 저장된다. Access 데이터베이스 파일은 레코드 추가 및 삭제 반복 시 용량이 팽창하므로 "최적화"가 필요하며, "최적화" 후에도 필요 이상으로 용량을 확보하므로 Zip 파일 등에 압축하면 용량을 줄일 수 있다.

Access의 주요 구성 요소는 다음과 같다.

4. 파일 확장자

마이크로소프트 액세스는 정보를 다양한 파일 형식으로 저장하며, 각 파일 형식은 특정한 용도와 기능에 맞게 사용된다. 파일 형식에 따른 확장자는 다음과 같다.

액세스 파일 형식 및 확장자
파일 형식확장자
액세스 빈 프로젝트 템플릿.adn
액세스 데이터베이스 (2007 이상).accdb
액세스 데이터베이스 런타임 (2007 이상).accdr
액세스 데이터베이스 템플릿 (2007 이상).accdt
액세스 추가 기능 (2007 이상).accda
액세스 작업 그룹, 사용자 수준 보안을 위한 데이터베이스.mdw
보호된 액세스 데이터베이스 (컴파일된 VBA 및 매크로 포함, 2007 이상).accde
윈도우 바로 가기: 액세스 매크로.mam
윈도우 바로 가기: 액세스 쿼리.maq
윈도우 바로 가기: 액세스 보고서.mar
윈도우 바로 가기: 액세스 테이블.mat
윈도우 바로 가기: 액세스 양식.maf
액세스 잠금 파일 (.accdb와 관련됨).laccdb
보호된 액세스 데이터 프로젝트 (2013에서는 지원되지 않음).ade
액세스 데이터 프로젝트 (2013에서는 지원되지 않음).adp
액세스 데이터베이스 (2003 이하).mdb
액세스 데이터베이스 (Windows CE용 Pocket Access).cdb
액세스 데이터베이스, 추가 기능에 사용됨 (Access 2, 95, 97), 이전에는 작업 그룹에 사용됨 (Access 2).mda
액세스 빈 데이터베이스 템플릿 (2003 이하).mdn
액세스 (SQL Server) 분리된 데이터베이스 (2000).mdf
보호된 액세스 데이터베이스 (컴파일된 VBA 및 매크로 포함, 2003 이하).mde
액세스 잠금 파일 (.mdb와 관련됨).ldb


  • 참고: 위 표는 현재 형식과 레거시 형식을 모두 포함하고 있으며, 하위 섹션의 내용과 중복을 피하기 위해 하나의 표로 통합되었다.

4. 1. 현재 형식

마이크로소프트 액세스 현재 형식
파일 형식확장자
액세스 빈 프로젝트 템플릿.adn
액세스 데이터베이스 (2007~).accdb
액세스 데이터베이스 런타임 (2007~).accdr
액세스 데이터베이스 템플릿 (2007~).accdt
보호된 액세스 데이터베이스 (VBA 컴파일) (2007~).accde
윈도우 바로 가기: 액세스 매크로.mam
윈도우 바로 가기: 액세스 쿼리.maq
윈도우 바로 가기: 액세스 보고서.mar
윈도우 바로 가기: 액세스 테이블.mat
윈도우 바로 가기: 액세스 폼.maf


4. 2. 레거시 형식

레거시 형식
파일 형식확장자
보호된 액세스 데이터 프로젝트 (2013에서는 지원되지 않음).ade
액세스 데이터 프로젝트 (2013에서는 지원되지 않음).adp
액세스 데이터베이스 (2003 이하).mdb
액세스 데이터베이스 (Windows CE용 Pocket Access).cdb
액세스 데이터베이스, 추가 기능에 사용됨 (Access 2, 95, 97),
이전에는 작업 그룹에 사용됨 (Access 2)
.mda
액세스 빈 데이터베이스 템플릿 (2003 이하).mdn
액세스 (SQL Server) 분리된 데이터베이스 (2000).mdf
보호된 액세스 데이터베이스, 컴파일된 VBA 및 매크로 포함 (2003 이하).mde
액세스 잠금 파일 (.mdb와 관련됨).ldb


5. 버전

번호출시일[53]JET/ACE 버전지원 OSOffice 제품군 버전Access 1.01.019921.0윈도우 3.0[54]Access 1.11.119931.1윈도우 3.1x[54]Access 2.02.019942.0윈도우 3.1x[54]Office 4.3 ProAccess for Windows 957.01995년 8월 24일3.0윈도우 95[54]Office 95 ProfessionalAccess 978.01997년 1월 16일3.5윈도우 95, 윈도우 NT 3.51 SP5, 윈도우 NT 4.0 SP2[55]Office 97 Professional and DeveloperAccess 20009.01999년 6월 7일4.0 SP1윈도우 95, 윈도우 NT 4.0, 윈도우 98, 윈도우 2000[56]Office 2000 Professional, Premium and DeveloperAccess 200210.02001년 5월 31일윈도우 NT 4.0 SP6, 윈도우 98, 윈도우 2000, 윈도우 Me[57]Office XP Professional and DeveloperAccess 200311.02003년 11월 27일윈도우 2000 SP3 이상, 윈도우 XP, 윈도우 비스타, 윈도우 7[58]Office 2003 Professional and Professional EnterpriseAccess 200712.02007년 1월 27일12윈도우 XP SP2, 윈도우 서버 2003 SP1 또는 최신 운영 체제[59]Office 2007 Professional, Professional Plus, Ultimate and EnterpriseAccess 201014.02010년 7월 15일14윈도우 XP SP3, 윈도우 서버 2003 SP2, 윈도우 서버 2003 R2, 윈도우 비스타 SP1, 윈도우 서버 2008, 윈도우 7, 윈도우 서버 2008 R2, 윈도우 서버 2012, 윈도우 8[60]Office 2010 Professional, Professional Academic and Professional PlusAccess 201315.02013년 1월 29일15윈도우 7, 윈도우 서버 2008 R2, 윈도우 서버 2012, 윈도우 8, 윈도우 8.1, 윈도우 10[61]Office 2013 Professional and Professional PlusAccess 201616.02015년 9월 22일16윈도우 7, 윈도우 8, 윈도우 8.1, 윈도우 10[62]Office 2016 Professional and Professional PlusAccess 20192018년 9월 24일윈도우 10[63]Office 2019 Professional and Professional PlusAccess 20212021년 10월 5일윈도우 10, 윈도우 11[64]Office 2021 Professional, 마이크로소프트 365 비즈니스용 앱[64]



윈도우 95 버전이 워드 7로 시작하였기 때문에 2.0과 7.0 사이에는 액세스 버전이 없다. 모든 오피스 95 제품들은 OLE 2 기능을 갖추고 있으며 액세스 7은 워드 7과 호환된다. 버전 번호 13은 건너뛰었다.

Access 2007에서는 .accdb 확장자를 사용하는 새로운 파일 형식을 채용하여 첨부 파일 데이터 형식과 Windows SharePoint Services에 대한 지원 등이 이루어졌다.[66]

Access 1.0은 1992년 11월, Access 1.1은 1993년 5월에 출시되었다. Access 1.1은 마이크로소프트의 다른 제품과의 호환성을 개선하고 Access Basic 프로그래밍 언어를 포함하였다.

Access 2.0에서는 빌더, 위저드가 도입되었고 이벤트 프로시저를 사용할 수 있게 되었다. Access 95에서는 Access Basic에서 VBA로 전환되었고, Data Access Objects (DAO) 및 복제가 도입되었다. Access 97에서는 하이퍼링크 등 HTML 연동이 강화되었고 탭 컨트롤이 도입되었다.

Access 2000에서는 데이터 액세스 페이지가 도입되어 페이지에서 데이터 표시 및 갱신이 가능해졌다. 또한 하위 데이터 시트가 도입되었고, JET 이외의 데이터베이스와의 연동이 강화되어 ActiveX Data Objects(ADO)가 도입되었다. 문자 인코딩시프트 JIS에서 유니코드로 변경되었으며, MSDE가 부속되었다. Access 2002(XP)에는 MSDE 2000이, Access 2003에는 보안 강화와 함께 MSDE 2000 릴리스 A가 부속되었다.

Access 2007에서는 다른 오피스 제품과 유사한 인터페이스로 변경되어 리본 인터페이스와 보안 센터가 도입되었고, 새로운 파일 형식인 .accdb 파일이 도입되었다.

6. 개발

마이크로소프트는 사용자가 마이크로소프트 액세스의 소매 버전을 구매하거나 설치할 필요 없이 액세스 데스크톱 응용 프로그램을 실행할 수 있도록 무료 런타임 버전을 제공한다. 이를 통해 액세스 개발자는 무제한의 최종 사용자에게 자유롭게 배포할 수 있는 데이터베이스를 만들 수 있다. 액세스 2007 이후의 런타임 버전은 마이크로소프트에서 무료로 다운로드할 수 있다.[38] 액세스 2003 이전의 런타임 버전은 오피스 개발자 확장/툴킷의 일부였으며 별도로 구매해야 했다.

런타임 버전은 사용자가 쿼리, 폼, 보고서, 매크로 및 VBA 모듈 코드를 실행하는 것과 함께 데이터를 보고, 편집하고 삭제할 수 있도록 한다. 그러나 런타임 버전은 사용자가 마이크로소프트 액세스 테이블, 쿼리, 폼, 보고서, 매크로 또는 모듈 코드의 디자인을 변경하는 것을 허용하지 않는다. 런타임 버전은 해당 전체 버전의 액세스와 유사하며 일반적으로 이전 버전과 호환된다. 예를 들어, 액세스 런타임 2010을 사용하면 2010 버전뿐만 아니라 2007에서 2000까지 만들어진 액세스 응용 프로그램을 실행할 수 있다. 액세스 2013의 더 이상 사용되지 않는 기능으로 인해 해당 런타임 버전은 해당 이전 기능도 지원할 수 없다. 개발 중에는 `/runtime` 명령줄 옵션을 사용하여 전체 기능 버전에서 런타임 환경을 시뮬레이션할 수 있다.[39]

Access는 모든 데이터베이스 테이블, 쿼리, 폼, 보고서, 매크로 및 모듈을 Access Jet 데이터베이스에 단일 파일로 저장한다. 쿼리 개발을 위해 Access는 사용자가 구조화된 쿼리 언어에 대한 지식 없이 쿼리를 구축할 수 있는 그래픽 사용자 인터페이스인 "쿼리 디자이너"를 제공한다. 쿼리 디자이너에서 사용자는 쿼리의 데이터 소스(테이블 또는 쿼리)를 "표시"하고, 그리드에서 클릭하고 드래그하여 반환하려는 필드를 선택할 수 있다. Access를 사용하면 원하는 경우 SQL 코드를 보고 조작할 수 있다.

Access는 또한 "통과 쿼리"의 생성을 지원한다. 이러한 SQL 코드 조각은 로컬 시스템의 ODBC 연결을 사용하여 외부 데이터 소스를 처리할 수 있다. 이를 통해 사용자는 링크된 테이블이나 Jet을 사용하지 않고 Access 프로그램 외부에 저장된 데이터와 상호 작용할 수 있다.[40]

보고서 개발 시("디자인 보기") 컨트롤에 추가 또는 변경을 가하면 모든 링크된 쿼리가 백그라운드에서 실행되고 디자이너는 다른 변경을 수행하기 전에 레코드가 반환될 때까지 기다려야 한다.

비 프로그래머는 매크로 기능을 사용하여 일련의 드롭다운 선택을 통해 간단한 작업을 자동화할 수 있다. 매크로는 쿼리 실행, 데이터 가져오기 또는 내보내기, 폼 열기 및 닫기, 보고서 미리 보기 및 인쇄 등과 같은 명령을 쉽게 연결할 수 있다. Access 2007에서는 향상된 매크로에 오류 처리와 임시 변수에 대한 지원이 포함되었다. Access 2013에서 도입된 상당한 추가 개선 사항을 통해 매크로의 기능은 VBA와 완전히 비교할 수 있게 되었다.

Microsoft Office 제품군의 다른 제품과 마찬가지로 Access에서 사용되는 다른 프로그래밍 언어는 Microsoft VBA이다. VB6과 유사하며 코드는 모듈, 클래스, 폼 뒤의 코드 및 보고서에 저장할 수 있다. 웹 배포가 비즈니스 요구 사항인 경우를 제외하고 대부분의 전문 Access 응용 프로그램은 매크로가 아닌 VBA 프로그래밍 언어를 사용하여 개발된다.

VBA 또는 매크로에서 테이블 및 쿼리의 데이터를 조작하기 위해 Microsoft는 다음과 같은 두 가지 데이터베이스 액세스 라이브러리의 컴포넌트 개체 모델 (COM) 구성 요소를 제공한다.



DAO 및 ADO 외에도 개발자는 OLE DB 및 ODBC를 사용하여 Access용 네이티브 C/C++ 프로그램을 개발할 수 있다.[41] ADP 및 SQL Server 데이터의 직접 조작을 위해서는 ADO가 필요하다. DAO는 Access/Jet 데이터베이스의 데이터를 관리하는 데 가장 적합하며, ACCDB 테이블의 복소수 필드 유형을 조작하는 유일한 방법이다.

Access 2007 이상 버전의 데이터베이스 컨테이너 또는 탐색 창에서 시스템은 각 개체를 유형별로 자동으로 분류한다(예: 테이블, 쿼리, 매크로). 많은 Access 개발자는 Leszynski 명명 규칙을 사용하지만 이는 보편적이지 않다. 이는 DBMS에서 적용되는 규칙이 아닌 프로그래밍 규칙이다.[42][43]

개발자는 개별 및 작업 그룹 프로젝트에 Microsoft Access를 가장 자주 배포한다(Access 97 속성 특성은 32명의 사용자를 위해 수행되었습니다).[44] Access 97 이후, Access 2003 및 2007에서 Microsoft Access와 하드웨어는 크게 발전했다. 크기가 1GB 미만(이제 RAM에 완전히 맞을 수 있음)이고 동시 사용자 수가 200명인 데이터베이스는 Microsoft Access의 기능 내에 있다.[45]

Microsoft Access 데이터베이스의 데이터를 RAM에 캐싱할 수 있으므로 단일 사용자만 있거나 데이터가 변경되지 않는 경우 처리 속도가 크게 향상될 수 있다. 과거에는 레코드 잠금 시스템에 대한 패킷 대기 시간의 영향으로 인해 Access 데이터베이스가 가상 사설망 (VPN) 또는 Jet 데이터베이스에 대한 광대역 통신망 (WAN)에서 느리게 실행되었다. 광대역 연결은 이 문제를 완화했다.

2011년 7월, Microsoft는 최신 운영 체제에서 리소스 관리의 특성으로 인해 모든 버전의 Access와 Windows 7 및 Windows Server 2008 R2에서 간헐적인 쿼리 성능 문제를 인정했다.[46] 이 문제는 Jet 데이터베이스 엔진 코드를 사용하는 Access 2003 및 이전 버전과 Access 데이터베이스 엔진(ACE)을 사용하는 Access 2007 이상 버전 모두에서 쿼리 성능에 심각한 영향을 미친다.[46]

Microsoft Access의 이전 버전에서는 응용 프로그램을 배포하려면 Developer Toolkit을 구매해야 했다. Access 2007, 2010 및 Access 2013에서는 "Runtime Only" 버전이 무료로 다운로드되므로[47] Windows XP, Vista, 7 및 Windows 8.x에서 로열티 없는 응용 프로그램 배포가 가능하게 되었다.[48]

Microsoft Access 응용 프로그램은 분할 데이터베이스 아키텍처를 채택할 수 있다. 단일 데이터베이스는 데이터 테이블을 포함하는 별도의 "백 엔드" 파일(파일 서버에서 공유)과 쿼리, 폼, 보고서, 매크로 및 모듈과 같은 응용 프로그램의 개체를 포함하는 "프런트 엔드"로 나눌 수 있다. "프런트 엔드" Access 응용 프로그램은 각 사용자의 데스크톱에 배포되며 공유 데이터베이스에 연결된다. 이 방식을 사용하면 각 사용자는 Microsoft Access(또는 런타임 버전) 사본을 응용 프로그램 데이터베이스와 함께 자신의 시스템에 설치한다. "프런트 엔드" 데이터베이스는 사용자의 설정이나 임시 데이터를 저장하기 위한 로컬 테이블을 계속 포함할 수 있다. 이 분할 데이터베이스 디자인을 통해 데이터와 독립적으로 응용 프로그램을 개발할 수도 있다. Microsoft Access에는 이 아키텍처를 용이하게 하기 위한 두 가지 내장 유틸리티인 데이터베이스 분할 도구[49]와 연결된 테이블 관리자가 있다.

Access의 연결된 테이블은 상대 경로가 아닌 절대 경로를 사용하므로 개발 환경은 프로덕션 환경과 동일한 경로를 갖거나 VBA에서 "동적 링커" 루틴을 작성할 수 있다.

Access 데이터베이스가 매우 큰 경우 성능 문제가 발생할 수 있으며 이러한 경우에는 SQL 백엔드를 고려해야 한다. Access는 데이터와 인덱스를 캐시하므로 전체 데이터베이스가 PC의 RAM에 들어갈 수 있다면 이러한 문제는 덜 심각하다.

데이터베이스 크기 확대를 통해 액세스(Access) 응용 프로그램을 엔터프라이즈 또는 웹 솔루션으로 확장하는 한 가지 방법은 마이크로소프트 SQL 서버(Microsoft SQL Server) 또는 이에 상응하는 서버 데이터베이스로 마이그레이션하는 것이다.

Access 2000부터 Access 2010까지는 사용자가 데이터베이스를 Microsoft SQL Server로 업그레이드할 수 있는 마법사라는 기능이 포함되어 있었다. 이 기능은 Access 2013에서 제거되었다. 추가 솔루션인 SQL Server Migration Assistant for Access(SSMA)는 Microsoft에서 무료로 계속 다운로드할 수 있다.[50]

다양한 업그레이드 옵션을 사용할 수 있다.[51] 데이터를 SQL Server로 마이그레이션한 후에는 데이터 형식 변환 제한에 따라 Access 데이터베이스를 SQL 데이터베이스에 연결할 수 있다.

SQL Server는 여전히 가장 쉬운 마이그레이션이다. 연결된 테이블에서 데이터를 검색하는 것은 필요한 레코드만 검색하도록 최적화되어 있지만, 이 시나리오는 SQL Server에 최적화된 것보다 효율성이 떨어질 수 있다. 예를 들어, 다중 테이블 조인 시 전체 테이블을 네트워크를 통해 복사해야 하는 경우가 있다.

Access 2010을 포함한 이전 버전의 Access에서는 데이터베이스를 하나의 SQL Server 데이터베이스에 직접 연결되는 Access 데이터 프로젝트(ADP)로 변환할 수도 있다. 이 기능은 Access 2013에서 제거되었다. ADP는 테이블, 뷰, 저장 프로시저 및 SQL Server 제약 조건과 같은 SQL Server 개체를 직접 생성하고 수정하는 기능을 지원한다.

마지막으로, 일부 Access 데이터베이스는 데이터가 변환되면 ASP.NET 또는 Java와 같은 다른 기술로 완전히 대체된다. 그러나 Access SQL 언어가 표준 SQL의 더 강력한 상위 집합이므로 모든 마이그레이션이 상당한 노력을 요구할 수 있다. 또한 VBA 및 매크로를 포함한 Access 응용 프로그램 프로시저는 현재 사용할 수 있는 대체 기능에 비해 상대적으로 더 높은 수준에서 작성된다.

대부분의 경우 개발자는 ASP.NET을 사용하여 직접 웹-데이터 인터페이스를 구축하는 동시에 Access에서 모든 사람에게 배포할 필요가 없는 주요 비즈니스 자동화 프로세스, 관리 및 보고 기능을 정보 작업자가 유지 관리하도록 한다.

모든 Access 데이터를 SQL Server로 직접 마이그레이션할 수 있지만 일부 쿼리는 성공적으로 마이그레이션할 수 없다. 경우에 따라 VBA 함수와 사용자 정의 함수를 T–SQL 또는 .NET 함수/프로시저로 변환해야 할 수 있다. 크로스탭 쿼리는 PIVOT 명령을 사용하여 SQL Server로 마이그레이션할 수 있다.

Access를 프로그래머의 관점에서 볼 때 장점 중 하나는 SQL과의 상대적인 호환성이다. 쿼리는 SQL 문으로 표시하고 편집할 수 있다. 그리고 SQL 문은 Access의 테이블을 조작하기 위해 매크로 또는 VBA 모듈 내에서 직접 사용할 수 있다.

Access의 보고서 작성 기능은 유능하고 세련된 보고서 작성 작업에 적합하지만, 다른 유명한 데이터베이스 보고서 작성 기능인 Crystal Reports만큼 충분히 특색 있고 강력하다고는 할 수 없다. MSDE (Microsoft SQL Server Desktop Engine) 2000은 Microsoft SQL Server 2000의 미니 버전이지만, Office XP Developer Edition에 포함되어 있으며, Jet Database Engine 대신 Access와 함께 사용될 수 있다

Access의 잘라내기 및 붙여넣기 기능은 다른 데이터베이스 간 (예: 데이터 및 데이터베이스를 통해 Oracle과 Microsoft SQL Server)을 연결하는 편리한 도구이다. Access에는 텍스트 형식과 Excel 형식을 포함하여 Windows 및 다른 플랫폼 응용 프로그램과의 통합을 허용하는 다양한 가져오기/내보내기 기능(또는 링크 기능)이 제공된다.

Excel에 익숙한 사용자에게는 클립보드를 통해 Access와 데이터를 쉽게 교환할 수 있는 기능이 매우 매력적일 것이다.

완전한 RDBMS와 달리, Access의 데이터베이스 엔진 JET에는 데이터베이스 트리거저장 프로시저가 존재하지 않는다. Access는 기본 테이블에 대한 변경을 일으키는 코드를 폼에 포함하는 것을 허용하며, 또한 Access에 포함된 패스스루 쿼리 및 기타 기술을 사용하여 외부 RDBMS가 지원하는 저장 프로시저를 실행하는 것도 일반적이다.

Access 내의 각 개체(테이블, 쿼리, 폼, 보고서, 매크로, 모듈 등)는 확장자가 accdb 및 mdb인 데이터베이스 파일에 저장된다.

운영상의 주의사항으로는, Access 데이터베이스 파일은 레코드의 추가 및 삭제를 반복하면 파일의 용량이 팽창하여 커지므로, 적절한 "최적화"를 수행할 필요가 있다.

또한, "최적화" 후에도 Access의 특성상 필요 이상으로 용량을 확보하므로, 저장할 때는 Zip 파일 등에 압축해 두면 용량을 줄일 수 있는 경우가 많다.

Access에서 사용할 수 있는 프로그래밍 언어는 다른 마이크로소프트 오피스 제품과 마찬가지로 Visual Basic for Applications이다. COM 컴포넌트의 두 가지 데이터베이스 액세스 라이브러리가 제공된다. 즉, Access에서만 사용할 수 있는 기존의 Data Access Objects (DAO)와 새로운 ActiveX Data Objects (ADO)이다.

마이크로소프트 액세스는 소규모 프로젝트에는 쉽게 사용할 수 있지만, 애플리케이션의 설계가 부실한 경우 대규모 프로젝트에 대해서는 비효율적으로 작동한다.

또한, ADO나 ODBC를 통해 웹 서버와의 연동도 가능하며, 웹 애플리케이션의 데이터베이스로도 이용 가능하지만, Access 자체가 웹DB로서의 이용을 상정한 설계가 되어 있지 않기 때문에, 웹DB로 이용할 경우 예상치 못한, 그리고 해결이 어려운 불량이 발생할 가능성이 있다.

모든 데이터베이스의 쿼리, 폼, 및 리포트는 데이터베이스 안에 저장되며, 릴레이셔널 모델의 이상과 일치하도록, 그것들을 물리적으로 구조화한 계층은 만들 수 없다.

하나의 설계 기술은 Access의 애플리케이션을 데이터와 프로그램으로 분할하는 것이다. 하나의 데이터베이스는 테이블과 관계만 포함해야 하며, 반면 다른 데이터베이스는 모든 프로그램, 폼, 리포트, 및 쿼리를 포함하고, 첫 번째 데이터베이스의 테이블에 링크한다. Access는 링크할 때 상대 경로를 허용하지 않으므로, 개발 환경은 제품 환경과 동일한 경로를 가져야 한다(단, Access가 현재 경로에서 백엔드 파일을 찾을 수 없을 때, 디렉토리 내를 검색하여, 어떤 백엔드 파일을 찾아낼 수 있는 독자적인 "동적 링커"를 VBA 내에 기술할 수 있다).

Access는 원래 스탠드얼론으로 사용될 것을 상정하고 있는 제품이므로, 입문서에서 소개되는 것처럼, 스탠드얼론으로 개발한 데이터베이스를 여러 사용자가 공유하는 방식에서는, 종종 성능이 극단적으로 저하된다. 이러한 경우에는 테이블 본체를 서버의 Microsoft SQL Server 등에 두고, ODBC로 링크하는 방법이 있다. ODBC 링크는 느리다는 편견이 있지만, 데이터 검색을 테이블 직접이 아닌, 인덱스에서 수행하도록 하면, 네트워크 트래픽을 대폭 경감할 수 있으며, 실용적인 성능을 얻을 수 있게 된다. Access 2000 이후에는 MSDE라는 마이크로소프트 SQL Server의 서브셋 버전이 부속되어 있으므로, 소규모 C/S 데이터베이스의 개발도 가능하게 되었지만, ODBC 링크를 활용하면 Oracle, MySQL, PostgreSQL 등의 프론트엔드 개발 툴로서 Access를 이용하는 길도 열려 있다.

Access 2000 이후, 독립형 데이터베이스(accdb 파일과 MDB 파일 형식) 외에, 다른 Microsoft SQL Server (또는 MSDE) 내에 테이블을 두고, 뷰, 저장 프로시저, 트리거를 정의하는 프로젝트라고 불리는 개발 기법(ADP 파일 형식)이 갖춰졌다. accdb나 mdb에서 adp로의 이전을 업사이징이라고 부른다. Access의 데이터베이스 유틸리티로 업사이징 마법사가 제공되지만, 시스템 전체를 이전하려면 쿼리 수정 등이 필요하며, 결코 쉬운 작업이 아니다. 어려움을 회피하려면, accdb나 mdb 시스템이 비대해지기 전에 업사이징을 수행하고, 고유한 노하우를 빨리 축적해야 한다. 업사이징 마법사는 2013년부터 폐지되었다.

mdb 파일 내의 테이블과 쿼리의 실체는 로컬에 그대로 존재하지만, adp 파일 내의 테이블과 쿼리(뷰, 저장 프로시저 등)의 실체는 Microsoft SQL Server 내에 존재한다. 따라서 adp 파일은 Microsoft SQL Server의 관리 도구로도 기능한다. 단, 테이블 등의 정의·편집이 가능한 것은, Access 2000에서는 Microsoft SQL Server 7.0 (또는 MSDE), Access 2003에서는 Microsoft SQL Server 2000 (또는 MSDE2000)이다. 두 가지 모두 Microsoft SQL Server 2005 (Express 포함)와 연결은 가능하지만, 테이블 등의 편집·개변은 할 수 없다. Microsoft SQL Server 2005의 테이블 편집 등은 Access 2007 및 SQL Server Management Studio (무료 Express도 있음)에서 수행할 수 있다.

7. 한계

Microsoft Access 응용 프로그램은 분할 데이터베이스 아키텍처를 채택할 수 있다. 데이터 테이블을 포함하는 "백 엔드" 파일과 쿼리, 폼, 보고서, 매크로 및 모듈과 같은 응용 프로그램 개체를 포함하는 "프런트 엔드"로 데이터베이스를 나눌 수 있다. 각 사용자는 "프런트 엔드" Access 응용 프로그램을 자신의 데스크톱에 배포하고 공유 데이터베이스에 연결한다. 이 방식을 사용하면 각 사용자는 Microsoft Access 또는 런타임 버전 사본을 자신의 시스템에 설치하므로 네트워크 트래픽이 줄어든다. "프런트 엔드" 데이터베이스는 사용자의 설정이나 임시 데이터를 저장하기 위한 로컬 테이블을 포함할 수 있다. 이러한 분할 데이터베이스 디자인은 데이터와 독립적으로 응용 프로그램을 개발할 수 있게 한다. 그러나 사용자가 자신의 로컬 응용 프로그램 사본을 변경할 수 있어 버전 관리가 어려워지는 단점이 있다. 새 버전이 준비되면 데이터베이스에 영향을 주지 않고 프런트 엔드 데이터베이스를 교체한다. Microsoft Access에는 데이터베이스 분할 도구[49]와 연결된 테이블 관리자라는 두 가지 내장 유틸리티가 있다.

Access의 연결된 테이블은 상대 경로가 아닌 절대 경로를 사용하므로 개발 환경은 프로덕션 환경과 동일한 경로를 갖거나 VBA에서 "동적 링커" 루틴을 작성해야 한다.

Access 데이터베이스가 매우 큰 경우 성능 문제가 발생할 수 있으며, 이 경우에는 SQL 백엔드를 고려해야 한다. Access는 데이터와 인덱스를 캐시하므로 전체 데이터베이스가 PC의 RAM에 들어갈 수 있다면 이러한 문제는 덜 심각하다.

가장 큰 제한은 파일 크기이며, Access의 파일 크기 제한은 2GB (링크 파일 제외)이다.[67]

8. 경쟁 제품

리브레오피스 베이스 (더 도큐먼트 재단)

참조

[1] 웹사이트 C++ in MS Office https://cppcon.org/b[...] cppcon 2014-07-17
[2] 웹사이트 Introduction to importing and exporting data https://support.offi[...] Microsoft 2010-10-15
[3] 웹사이트 Microsoft Access History http://www.fmsinc.co[...] 2016-03-13
[4] 서적 PC Mag https://books.google[...] Ziff Davis, Inc. 1985-10-15
[5] 웹사이트 Microsoft Access Business Information Access Program 1.0x https://winworldpc.c[...] 2022-05-23
[6] 웹사이트 Jet Engine: History http://www.avdf.com/[...] 2011-01-02
[7] 웹사이트 The Birth of Visual Basic http://www.forestmoo[...]
[8] 뉴스 Microsoft Works on SAA Database https://books.google[...] 1988-11-14
[9] 뉴스 Microsoft Puts Finishing Touches on Windows Applications https://books.google[...] 1989-02-13
[10] 뉴스 Microsoft Applications to Share Macro Language https://books.google[...] 1989-05-08
[11] 뉴스 Microsoft Waits on SQL Front Ends https://books.google[...] 1989-08-21
[12] 뉴스 Gates Claims That 80286 Systems Are No Longer His Babies https://books.google[...] 1989-09-04
[13] 뉴스 No Way, the PC Industry Will Always Be Dominated By Doritos https://books.google[...] 1989-07-31
[14] 뉴스 Lotus Exec Tells of Ordeal: "Aliens Force Me to Use MS Windows" https://books.google[...] 1989-10-16
[15] 뉴스 Elvis, Now a Vegas Parking Lot Attendant, Further Delays Intel 486 https://books.google[...] 1989-11-20
[16] 뉴스 Microsoft demos its ill-fated Omega https://books.google[...] 1992-11-30
[17] 뉴스 Microsoft's Fox purchase stirs up the XBase market https://books.google[...] 1992-03-30
[18] 뉴스 Whatever costume Eckhard wears is likely to scare Silicon Graphics https://books.google[...] 1991-11-04
[19] 뉴스 Microsoft creating API to complement ODBC https://books.google[...] 1992-06-29
[20] 뉴스 Developers get beta version of Microsoft DBMS https://books.google[...] 1992-07-13
[21] 뉴스 Cirrus dubbed Access; faster beta released https://books.google[...] 1998-07-20
[22] 웹사이트 Where did the name for Microsoft Access come from? https://devblogs.mic[...] Microsoft 2006-04-13
[23] 웹사이트 Microsoft Access Version Releases, Service Packs, Hotfixes, and Updates History https://www.fmsinc.c[...] FMS 2023-08-20
[24] 웹사이트 "Out of memory" error starting Microsoft Access http://support.micro[...]
[25] 웹사이트 Changes in Access http://msdn.microsof[...] Microsoft 2016-03-13
[26] 웹사이트 New in Access for developers http://msdn.microsof[...] Microsoft 2016-03-13
[27] 웹사이트 Discontinued features and modified functionality in Access 2013 http://office.micros[...] Microsoft 2016-03-13
[28] 웹사이트 Using the Date/Time Extended data type http://support.micro[...]
[29] 웹사이트 What's new in Access 2021 http://support.micro[...]
[30] 웹사이트 Migrate an Access database to SQL Server https://support.micr[...] 2021-10-15
[31] 웹사이트 Using Terminal Services and RemoteApp to Extend Your Microsoft Access and other Windows Applications Over the Internet http://www.fmsinc.co[...] 2016-03-13
[32] 웹사이트 Access Services in SharePoint Roadmap https://support.offi[...] Microsoft 2019-05-20
[33] 웹사이트 Create ASP.NET Web Forms to Use a Microsoft Access Database https://www.aspfree.[...] 2017-06-13
[34] 웹사이트 Creating Web Databases with Access 2010 and Access Services http://msdn.microsof[...] Msdn.microsoft.com 2009-07-22
[35] 웹사이트 Microsoft Access 2013 Web Applications and Examples https://access-templ[...] 2017-09-04
[36] 웹사이트 Back by popular demand—dBASE file support in Access https://blogs.office[...] Microsoft 2017-08-20
[37] 웹사이트 Discontinued features and modified functionality in Access 2010 http://office.micros[...] Microsoft 2014-01-17
[38] 웹사이트 Microsoft Access Runtime Distribution and Free Downloads http://www.fmsinc.co[...] 2016-06-15
[39] 웹사이트 Simulating the Microsoft Access Runtime during Development http://www.fmsinc.co[...] 2016-06-15
[40] 서적 From access to SQL server https://books.google[...] Apress 2010-07-08
[41] 웹사이트 Developing Access 2007 Solutions with Native C or C++ http://msdn.microsof[...] Microsoft Corporation 2008-09-22
[42] 웹사이트 Naming Conventions https://technet.micr[...] Microsoft 2016-03-13
[43] 웹사이트 Naming Conventions for Visual Basic http://support.micro[...]
[44] 웹사이트 Microsoft Jet 3.5 Performance Overview and Optimization Techniques 2005-07-19
[45] 웹사이트 Microsoft Access Database Scalability: How many users can it support? http://blog.fmsinc.c[...] 2016-03-13
[46] 웹사이트 Very slow Access 2002 query with Windows 7 http://social.msdn.m[...]
[47] 웹사이트 Microsoft Access Runtime Distribution Programs and Free Downloads http://www.fmsinc.co[...] 2016-03-13
[48] 웹사이트 Download Microsoft Access 2010 Runtime from Official Microsoft Download Center http://www.microsoft[...] Microsoft 2016-03-13
[49] 웹사이트 Microsoft Access Split Database Architecture to Support Multiuser Environments, Improve Performance, and Simplify Maintainability http://www.fmsinc.co[...] Fmsinc.com 2013-04-24
[50] 웹사이트 Microsoft SQL Server Migration Assistant 7.10 for Access https://www.microsof[...] Microsoft.com 2018-10-20
[51] 웹사이트 When and How to Upsize Microsoft Access Databases to SQL Server http://www.fmsinc.co[...] 2016-03-13
[52] 웹사이트 Security Considerations and Guidance for Access 2007 http://msdn.microsof[...] Microsoft 2016-03-13
[53] 웹사이트 Microsoft Access Life-cycle Information http://support.micro[...] 2011-10-23
[54] 웹사이트 Microsoft Access Version Releases, Service Packs, Hotfixes, and Updates History http://www.fmsinc.co[...] FMS 2015-07-20
[55] 웹사이트 Chapter 5 – System Requirements for MS Office https://technet.micr[...] Microsoft 2013-05-02
[56] 웹사이트 Office 2000 Systems Requirements https://web.archive.[...] Microsoft 2013-05-02
[57] 웹사이트 Office XP System Requirements https://web.archive.[...] Microsoft 2013-05-02
[58] 웹사이트 Office 2003 Licensing and System Requirements https://web.archive.[...] Microsoft 2013-05-02
[59] 웹사이트 Getting started with the 2007 Office system https://technet.micr[...] Microsoft 2013-05-02
[60] 웹사이트 System requirements for Office 2010 https://technet.micr[...] Microsoft 2013-05-02
[61] 웹사이트 System requirements for Office 2013 https://technet.micr[...] Microsoft 2017-08-15
[62] 웹사이트 Microsoft Access 2016 https://products.off[...] Microsoft
[63] 웹사이트 Microsoft Access 2019 https://products.off[...] Microsoft
[64] 웹사이트 Microsoft 365 Apps for Business https://www.microsof[...] Microsoft
[65] 웹사이트 Access ウィザード https://msdn.microso[...]
[66] 웹사이트 ACCDB ファイル形式と MDB ファイル形式の相違点 https://support.offi[...]
[67] 웹사이트 Access の仕様 https://support.offi[...]
[68] 웹사이트 Download Microsoft Access 2016 Runtime from Official Microsoft Download Center https://www.microsof[...]
[69] 웹사이트 Microsoft Office 2021 will launch on October 5th https://www.theverge[...] 2021-10-05



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com